Conditions | 12 |
Paths | 12 |
Total Lines | 39 |
Lines | 39 |
Ratio | 100 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
Complex classes like utils.js ➔ getRegion often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
1 | View Code Duplication | import { RegionDomains } from './regions'; |
|
26 | export function getRegion(region) { |
||
27 | var val; |
||
28 | switch (region.toUpperCase()) { |
||
29 | case 'EUNE': |
||
30 | val = RegionDomains.EUNE; |
||
31 | break; |
||
32 | case 'EUW': |
||
33 | val = RegionDomains.EUW; |
||
34 | break; |
||
35 | case 'OCE': |
||
36 | val = RegionDomains.OCE; |
||
37 | break; |
||
38 | case 'LAN': |
||
39 | val = RegionDomains.LAN; |
||
40 | break; |
||
41 | case 'LAS': |
||
42 | val = RegionDomains.LAS; |
||
43 | break; |
||
44 | case 'RU': |
||
45 | val = RegionDomains.RU; |
||
46 | break; |
||
47 | case 'BR': |
||
48 | val = RegionDomains.BR; |
||
49 | break; |
||
50 | case 'TR': |
||
51 | val = RegionDomains.TR; |
||
52 | break; |
||
53 | case 'NA': |
||
54 | val = RegionDomains.NA; |
||
55 | break; |
||
56 | case 'KR': |
||
57 | val = RegionDomains.KR; |
||
58 | break; |
||
59 | case 'JP': |
||
60 | val = RegionDomains.JP; |
||
61 | break; |
||
62 | } |
||
63 | return val; |
||
64 | } |
||
65 | //# sourceMappingURL=utils.js.map |